! Copyright 2014-2018 The PySCF Developers. All Rights Reserved.
!
! Licensed under the Apache License, Version 2.0 (the "License");
!  you may not use this file except in compliance with the License.
!  You may obtain a copy of the License at
!
!      http://www.apache.org/licenses/LICENSE-2.0
!
!  Unless required by applicable law or agreed to in writing, software
!  distributed under the License is distributed on an "AS IS" BASIS,
!  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
!  See the License for the specific language governing permissions and
!  limitations under the License.

module m_null2char
  use iso_c_binding, only: c_char
  
  implicit none

  contains  

!
!
!
subroutine null2char(c_null, c_fstring)
  implicit none
  !! external 
  character(kind=c_char), intent(in) :: c_null(*)
  character(*), intent(inout) :: c_fstring
  !! internal
  integer :: i, c
  
  c_fstring = ""  
  do i=1,len(c_fstring)
    c = ichar(c_null(i))
    if(c==0) exit
    c_fstring(i:i) = char(c)
  enddo

end subroutine ! 

end module !m_null2char
